package com.ocom.emqx.service;


import com.ocom.common.entity.emqx.EntityYhMqtt0606;
import com.ocom.common.entity.emqx.EntityYhMqtt0607;
import com.ocom.common.entity.mongo.EntityDeviceHistoryPo;
import com.ocom.common.entity.payconfig.EntityMqttDevice;
import com.ocom.common.request.emqx.YhMqtt0606Request;
import com.ocom.common.request.emqx.YhMqtt0607Request;
import com.ocom.common.vo.emqx.YhDeviceWorkStatusVo;
import com.ocom.common.vo.emqx.YhStatusVo;

public interface WashingMachineService {
    //84 - wd 状态更新
    void updateMachIneStatusWd(String deviceNo , String msg);

    //获取设备、下发设备信息
    EntityMqttDevice getDevice(String deviceNo,String subString);

    EntityMqttDevice getDevice(String deviceNo);

    //84 - od 订单相关
    void updateMachIneStatusOd(String deviceNo , String msg);
    //
    void  updateDeviceStatus(EntityMqttDevice entityMqttDevice);

    //86第一次确认订单  阻塞Http
    void comfirmOrder(String deviceNo , String msg);

    //87 再次确认订单
    void comfirmOrderTwo(String deviceNo , String msg);

    YhStatusVo yHStatus(Integer status,Integer subRun);

    YhDeviceWorkStatusVo yhDeviceWorkStatus(Integer status,Integer subRun,Integer subNum);

    //发 0607 命令
    EntityYhMqtt0607 yHMqtt0607(YhMqtt0607Request request);

    EntityYhMqtt0606 yHMqtt0606(YhMqtt0606Request request);

    void publish(String deviceNo, String pushMessage,Long orderId);

    void publish(String deviceNo, String pushMessage);

    void yHMqtt8A(String deviceNo,String msg);

    //更新redis指令状态
    void updateDeviceCommand(String deviceNo,String deviceKey,Object value);

    //添加设备运行记录
    void addHistoryRecord(EntityDeviceHistoryPo deviceHistoryPo);

    void updateDeviceStatus(EntityMqttDevice entityMqttDevice,EntityDeviceHistoryPo entityDeviceHistoryPo);
}
